
/**
 * 
 * 观看文艺汇演问题
 * 
 * 题目描述

为了庆祝中国共产党成立 100 周年，某公园将举行多场文艺表演，很多演出都是同时进行。

一个人只能同时观看一场演出，且不能迟到早退。

由于演出分布在不同的演出场地，所以连续观看的演出最少有 15 分钟的时间间隔。

小明是一个狂热的文艺迷，想观看尽可能多的演出。

 现给出演出时间表，请帮小明计算他最多能观看几场演出。

输入描述
第一行为一个数 N，表示演出场数

1 ≤ N ≤ 1000
接下来 N 行，每行有被空格分割的整数，第一个整数 T 表示演出的开始时间，第二个整数 L 表示演出的持续时间

T 和 L 的单位为分钟
0 ≤ T ≤ 1440
0 < L ≤ 180
输出描述
输出最多能观看的演出场数

用例
输入	2
720 120
840 120
输出	1
说明	两场演出间隔时间为0，不满足最小15分钟时间间隔的要求，所以最多只能观看一场演出
输入	2
0 60
90 60
输出	2
说明	两场演出间隔大于15分钟，都能观看到

 * 
 */

import java.util.Arrays;
import java.util.Scanner;

/**
  * 题目解析
本题其实是区间问题。且是要求解最多不相交区间个数。

需要注意的是，两个区间不相交的条件也比较特殊：

连续观看的演出最少有15分钟的时间间隔
即两个区间之间需要间隔15单位长度才算不相交。
  */
public class 观看文艺汇演问题 {
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
 
        int n = sc.nextInt();
 
        int[][] times = new int[n][2];
        for (int i = 0; i < n; i++) {
            int T = sc.nextInt();
            int L = sc.nextInt();
 
            times[i][0] = T; // 开始时间
            times[i][1] = T + L; // 结束时间 = 开始时间 + 持续时间
        }
 
        // 按照演出结束时间升序
        Arrays.sort(times, (a, b) -> a[1] - b[1]);
 
        // 最多能看的演出场数，第一场演出必可以看
        int count = 1;
 
        int last_end = times[0][1];
        for (int i = 1; i < times.length; i++) {
            int start = times[i][0];
            int end = times[i][1];
 
            // 如果当前演出开始时间 和 上一次演出结束时间，相隔不低于15分钟，则可以看当前演出
            if (start - last_end >= 15) {
                count++;
                last_end = end;
            }
        }
 
        System.out.println(count);
    }

}
